
#ifndef __graphics_functionsH__
#define __graphics_functionsH__

#include "graphics.h"
#include "3d.h"

namespace WtfGraphics {
	void SetColour(const fVector4D& vColour);

	void EnableBlending();
	void DisableBlending();

	void EnableWireframe(tScalar thickness);
	void DisableWireframe();

	void SaveView();
	void RestoreView();

	void Rotate(const Orientation3D& ori);
	void Translate(const tVector& v);
	void Transform(const Transformation3D& t);

	void DrawTriangle(const tVector& a, const tVector& b, const tVector& c);
	void DrawQuad(const tVector& a, const tVector& b, const tVector& c, const tVector& d);
	void DrawBox(const tVector& min, const tVector& max);


	void Translate2D(const iVector2D& v);
	void Draw2DQuad(const iVector2D& a, const iVector2D& b, const iVector2D& c, const iVector2D& d);
	void Draw2DBox(const iVector2D& min, const iVector2D& max);
	void Draw2DLine(const iVector2D& a, const iVector2D& b, int iWidth);

	void SaveProjection();
	void RestoreProjection();
	void SetupOrthoProjection(const WtfEngine::IScreen::tRef& rScreen);

	void ClearScreen();
};

#endif
